package com.ll.dal.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ll.app.api.jj.enums.JJProjectStatusEnum;
import com.ll.app.api.jj.enums.JJProjectTypeEnum;
import com.ll.base.enums.FinishStatusEnum;
import com.ll.base.enums.RelativesTypeEnum;
import com.ll.base.enums.SexEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("jj_project")
public class JJProjectPO {
    @TableId(type= IdType.AUTO)
    private Long id;

    @JsonFormat(pattern = "YYYY-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", example = "2020-12-02")
    private Date ctime;

    @NotNull(message = "班级 不能为null")
    @ApiModelProperty(value = "班级", example = "1844652736858142")
    private String classId;

    @NotNull(message = "钉钉用户id 不能为null")
    @ApiModelProperty(value = "钉钉用户id", example = "1844652736858142")
    private String cDingUid;

    @NotNull(message = "学生名称 不能为null")
    @ApiModelProperty(value = "学生名称", example = "孩子")
    private String studentName;

    @NotNull(message = "学生年龄 不能为null")
    @ApiModelProperty(value = "学生年龄", example = "28")
    private Integer studentAge;

    @NotNull(message = "学生生日 不能为null")
    @JsonFormat(pattern = "YYYY-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "学生生日", example = "2014-03-28")
    private Date studentBirthday;

    @NotNull(message = "学生性别 不能为null")
    @ApiModelProperty(value = "学生性别", example = "男")
    private SexEnum studentSex;

    @NotNull(message = "学生父母 不能为null")
    @ApiModelProperty(value = "学生父母", example = "孩子他爹")
    private String studentParent;

    @NotNull(message = "学生籍贯 不能为null")
    @ApiModelProperty(value = "学生籍贯", example = "浙江省杭州市余杭区文二西路")
    private String studentHometown;

    @NotNull(message = "家属联系方式 不能为null")
    @ApiModelProperty(value = "家属联系方式", example = "18689412345")
    private String parentPhone;

    @NotNull(message = "关系类型 不能为null")
    @ApiModelProperty(value = "关系类型", example = "父子")
    private RelativesTypeEnum parentRelation;

    @NotNull(message = "申请金额 不能为null")
    @ApiModelProperty(value = "申请金额", example = "500.00")
    private BigDecimal money;

    @NotNull(message = "原因 不能为null")
    @ApiModelProperty(value = "原因", example = "18689412345")
    private String source;

    @NotNull(message = "收款账号 不能为null")
    @ApiModelProperty(value = "收款账号", example = "343282389128383888277")
    private String account;

    @NotNull(message = "申请类型 不能为null")
    @ApiModelProperty(value = "申请类型", example = "奖学金")
    private JJProjectTypeEnum type;

    @NotNull(message = "申请状态 不能为null")
    @ApiModelProperty(value = "申请状态", example = "待审批")
    private JJProjectStatusEnum status;

    @ApiModelProperty(value = "申请说明", example = "这只是个说明谢谢")
    private String remark;

    @ApiModelProperty(value = "操作记录", example = "")
    private String record;

    @ApiModelProperty(value = "学习成绩", example = "优秀")
    private String study;

    @ApiModelProperty(value = "家庭情况", example = "他家坏境一般，爸妈都是在家务农")
    private String familyInfo;

    @ApiModelProperty(value = "完成状态", example = "进行中")
    private FinishStatusEnum finishStatus;
}
